
package Controlador;

import Dao.DaoCooperativa;
import Dao.DaoMulta;
import Dao.DaoUnidadT;
import Modelo.Listas;
import Modelo.Multa;
import Reportes.ReporteMultados;
import Vista.Mensajes;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.text.DateFormat;
import java.util.logging.Level;
import java.util.logging.Logger;

public class ControladorReporteMultados implements ActionListener
{
    private ReporteMultados multados;

    public ControladorReporteMultados() throws SQLException {
        multados = new ReporteMultados();
        multados.agregarListener(this);
        multados.setVisible(true);
        cargarCombo();
    }

    private void cargarCombo() throws SQLException
    {
        String coop;
        ResultSet rgCoop;
        DaoCooperativa daoCoop = new DaoCooperativa();
        rgCoop = daoCoop.ConsultarCooperativa();
        while(rgCoop.next())
        {
            coop = rgCoop.getString("rifc");
            multados.getCmbCodigo().addItem(coop);
        }
    }
    
    private void Llenar() throws SQLException
    {
        String coop,nomc, multa, viaje, placa, tipo, chofer, socio, fecha;
        int fila = 0;
        ResultSet rgMulta;
        ResultSet rgCoop;
        ResultSet rgUnidad;
        DaoMulta daoMulta = new DaoMulta();
        DaoUnidadT daoUnidad = new DaoUnidadT();
        DaoCooperativa daoCoop = new DaoCooperativa();
        rgMulta = daoMulta.ConsultarMulta();
        rgUnidad = daoUnidad.ConsultarUnidadT();
        rgCoop = daoCoop.ConsultarCooperativa();
        coop = multados.getCmbCodigo().getSelectedItem().toString();
        while (rgCoop.next())
        {
            if(rgCoop.getString("rifc").equals(coop))
            {
                nomc = rgCoop.getString("nombrec");
                multados.getTxtCoop().setText(nomc);
            }
        }
        while(rgMulta.next())
        {
            if (rgMulta.getString("codigocooperativa").equals(coop))
            {
                multa = rgMulta.getString("codigom");
                viaje = rgMulta.getString("codigoviaje");
                fecha = rgMulta.getString("diaferiado");
                placa = rgMulta.getString("placav");
                chofer = rgMulta.getString("cedulachofer");
                socio = rgMulta.getString("cedulasocio");
                
                multados.getjTableMultados().setValueAt(multa, fila, 0);
                multados.getjTableMultados().setValueAt(viaje, fila, 1);
                multados.getjTableMultados().setValueAt(placa, fila, 2);
                multados.getjTableMultados().setValueAt(chofer, fila, 3);
                multados.getjTableMultados().setValueAt(socio, fila, 4);
                multados.getjTableMultados().setValueAt(fecha, fila, 5);
                fila++;
                
            }
        }
        
    }
    
    @Override
    public void actionPerformed(ActionEvent e) {
        if (e.getSource().equals(multados.getCmbCodigo()))
        {
            String cadena;
            cadena = multados.getCmbCodigo().getSelectedItem().toString();
                    if(cadena.equals("Seleccione"))
                    {
                        Limpiar();
                        limpiarTabla();
                    }
                    limpiarTabla();
            try {
                Llenar();
            } catch (SQLException ex) {
                Logger.getLogger(ControladorReporteMultados.class.getName()).log(Level.SEVERE, null, ex);
            }
        }
    }

    private void Limpiar() {
        multados.getTxtCoop().setText("");
    }
    
        private void limpiarTabla()
    {
        for (int j = 0; j < multados.getjTableMultados().getRowCount(); j++) 
        {
                multados.getjTableMultados().setValueAt("", j, 0);
                multados.getjTableMultados().setValueAt("", j, 1);
                multados.getjTableMultados().setValueAt("", j, 2);
                multados.getjTableMultados().setValueAt("", j, 3);
                multados.getjTableMultados().setValueAt("", j, 4);
                multados.getjTableMultados().setValueAt("", j, 5);
        }
    }
    
    
}
